using System.Collections;
using DG.Tweening;
using UnityEngine;

// 卡牌系统管理器
public class CardSystem : MonoBehaviour
{
    [SerializeField] private Card cardPrefab;  // 卡牌预制体
    [SerializeField] private Transform spawn;  // 生成位置
    [SerializeField] private Transform hand;   // 手牌位置

    private void OnEnable()
    {
        // 注册抽卡动作执行器
        ActionSystem.AttachPerformer<DrawCardGA>(DrawCardPerformer);
    }

    private void OnDisable()
    {
        // 注销抽卡动作执行器
        ActionSystem.DetachPerformer<DrawCardGA>();
    }

    // 抽卡动作的具体执行逻辑
    private IEnumerator DrawCardPerformer(DrawCardGA drawCardGA)
    {
        // 实例化卡牌并移动到手牌位置
        Card card = Instantiate(cardPrefab, spawn.position, Quaternion.identity);
        Tween tween = card.transform.DOMove(hand.position, 0.5f);
        yield return tween.WaitForCompletion();
    }
}

